
// 工具层axiso

// 我把axios配置好之后，然后给项目中的组件使用
import axios from "axios"
import Vue from "vue"
import router from "@/router"
import {BASE_URL} from "./commom.js"


// 1. 配置服务器前缀
// axios.defaults.baseURL = 'http://1.15.179.44:3001'
// axios.defaults.baseURL = ' http://127.0.0.1:3001/'

axios.defaults.baseURL = BASE_URL



// 2. 有一个统一的地方设置token（每次发起请求的时候，都经过这个地方，就给请求头加上token）

// 请求拦截器（以后axios每发起一次请求，都要通过这里）
axios.interceptors.request.use(config => {

    // config就是请求头的相关信息， url， 参数
    // console.log(config)

    // 从本地取出token，设置给config， config带给后端服务器
    const token = localStorage.getItem('token')

    // 设置token
    config.headers.authorization = token
    // 放行
    return config

})

// 响应拦截器
axios.interceptors.response.use(res => {
//    console.log('响应拦截了',res );

    if(res.data.hasOwnProperty('code') && res.data.code !== 0){

        Vue.prototype.$message.error(res.data.msg)
    }

    return res

},err =>{
//    console.log('后端出错了');
    if(err.response.data.code === 401){
        router.push ('/login')
    }
})

// 导出
export default axios